<!-- components/AuthCallback.vue -->
<template>
    <div>
      <!-- 这里可以放一些加载提示，因为可能需要时间处理回调逻辑 -->
      <h1>正在处理登录...</h1>
    </div>
  </template>
  
  <script lang="ts" setup >


import { useApi } from '@/api';
import { useRoute, useRouter } from 'vue-router';
import { Content, GiteeInfo } from './type';

const router = useRouter();
const route = useRoute();

// 获取URL中的授权码（code）
const code = route.query.code;

// 引入API方法，假设api模块中有一个名为exchangeCode的方法用于处理code
const api = useApi();

import useUserStore  from '@/store/userStore';


const callback_url = import.meta.env.VITE_APP_CALLBACK_URL;
console.log("回调地址",callback_url);
// 使用async/await处理异步操作
async function handleCallback() {
  try {
    // 这里应该调用后端API，将code发送给服务器处理，以换取access_token
    // 由于安全考虑，避免在前端直接处理敏感信息，如直接与Gitee服务器交换token
   const data =   await api.GiteeCodeToSeivice(code); // 假设exchangeCode是api模块中的一个函数

    console.log(data);

    const userStore = useUserStore();
    const user ={
      id:data.id,
      name:data.login,
      loginName:data.name,
      password: " ",
      token:data.token
    }



    userStore.setUser(user);




    // 根据后端返回的成功响应进行后续处理，例如设置用户状态、跳转页面等
    // 这里简单示例为成功后跳转到'/home'页面
    router.push('/home');
  } catch (error) {
    // 错误处理逻辑，例如提示用户、记录日志等
    console.error('登录失败:', error);
    // 可能还需要根据错误类型做特定处理，如跳转到错误页面等
  }
}

// 调用处理函数
handleCallback();


  </script>